package com.service;


import com.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserService {

    /**
     * 根据用户密码查询用户
     *
     * @param code 用户编号
     * @param password 密码
     * @return 用户信息
     */
    User login(String code, String password);

    /**
     * 根据用户id获取用户
     *
     * @param id 用户id
     * @return 用户信息
     */
    User getUserByUid(Integer id);

    /**
     * 更新用户
     *
     * @param user 用户信息
     * @return
     */
    boolean updateUserByUid(User user);

    /**
     * 添加用户
     *
     * @param user 用户信息
     * @return
     */
    boolean addUser(User user);

    /**
     *
     * @param name 用户名
     * @param role 角色名
     * @param currentPageNo 当前页码
     * @param pageSize 一页数据量
     * @return
     */
    List<User> findUserList(String userCode,String userName,
                                   Integer userRole,Boolean userStatus,
                                   Integer pageIndex,Integer pageSize);

    /**
     * 根据条件获取用户数量
     *
     * @param name 用户名
     * @param role 角色
     * @return
     */
    Integer findUserCount(String userCode,String userName,
                          Integer userRole,Boolean userStatus);

    /**
     * 删除用户
     *
     * @param uid 用户id
     * @return
     */
    boolean deleteUserByUid(Integer uid);
}
